package Construibles;

import org.w3c.dom.Node;

import Excepciones.DineroInsuficiente;
import Juego.Jugador;
import Juego.SerializablePropia;
import MapaStuff.Hectarea;
import MapaStuff.SuperficieAgua;
import MapaStuff.SuperficiePlana;

public interface Construible extends SerializablePropia {

	public void daniar(int danio);
	public boolean estaDestruido();
	public void sanar();
	public int vida();
	public void agregarHectarea(Hectarea hectareaUbicacion);
	public Hectarea hectarea();
	public boolean sePuedeConstruirEn(SuperficieAgua agua);
	public boolean sePuedeConstruirEn(SuperficiePlana plana);
	public void descontarDinero(Jugador jugador)throws DineroInsuficiente;
	public void daniadoPorGodzilla();
	public void agregarseARedes(Jugador jugador);
	public void desconectarseRedes(Jugador jugador);
	public String nombre();
	public String informacion();
	public  static Construible hidratar(Node construible){
		return (Construible) SerializablePropia.hidratar(construible);
	}
}
